// WebSocket消息类型枚举
export enum MessageType {
  AI_PROCESS_START = 'AI_PROCESS_START', // AI处理开始
  AI_PROCESS_SUCCESS = 'AI_PROCESS_SUCCESS', // AI处理成功
  AI_PROCESS_ERROR = 'AI_PROCESS_ERROR', // AI处理失败
  CONNECTION_SUCCESS = 'CONNECTION_SUCCESS', // 连接成功
  HEARTBEAT = 'HEARTBEAT', // 心跳
}

// WebSocket消息接口
export interface AiProcessMessage {
  type: MessageType // 消息类型
  pictureId?: string // 图片ID
  userId?: string // 用户ID
  message: string // 消息内容
  aiTitle?: string // AI生成的标题
  aiCategory?: string // AI生成的分类
  aiTags?: string[] // AI生成的标签列表
  error?: string // 错误信息
  timestamp: string // 时间戳 (ISO 8601格式)
}

// WebSocket连接信息
export interface WebSocketConnectionInfo {
  wsUrl: string
  userId: string
  connectionParams: string
  fullWsUrl: string
}

// WebSocket状态信息
export interface WebSocketStatus {
  totalConnections: number
  userOnline: boolean
  userId: string
}

// AI处理状态
export interface AiProcessStatus {
  pictureId: string
  status: 'processing' | 'success' | 'error' | 'pending'
  message?: string
  result?: {
    title: string
    category: string
    tags: string[]
  }
  error?: string
  timestamp: string
}
